# 在一次电视综艺节目中，观众通过手机拨打电话参与综艺节目，
# 奖品是0-9的数字对应的奖品（奖品自行定义），
# 用户拨通电话后，在事先准备的题目中随意抽3道进行电话答题（
# 题目和答案自行准备，题目为选择题或判断题）。
# 【1】如果只答对一道，在用户手机号码包含的数字中随机抽取一个数字，
# 奖品就是获取对应数字的奖品
# 【2】如果答对两道题，在用户手机号码包含的数字中随机抽取两个数字，
# 奖品就是这两个数字对应的奖品
# 【3】如果三道题都答对，手机号码中所有数字对应的奖品都可以带走
# 【4】程序运行后，输入自己的手机号码然后开始答题，三道题目答完后，显示你获得的奖品。

import random


class Telephone_QandA:
    def __init__(self):
        self.prizes_list = [
            "购物卡", "毛巾", "床单被套等4件套", "保温杯", "洗浴套装", "糖果", "巧克力", "电吹风", "毛巾礼盒",
            "话费充值"
        ]
        self.right_time = 0
        self.prizes_list_new = []
        self.get_prize = []

    def ask_question(self):
        self.question_dic = ["A", "A", "D", "A", "B"]
        self.questions = [
            "俗称“四不象”的动物是：A.麋鹿B.羚羊C.骡子D.驴", "“豆寇年华”是指几岁A、13岁B、14岁C、15岁D、16岁",
            "我国的哪一个城市素有“日光之城”的美称：A.厦门B.青岛C.三亚D.拉萨",
            "世界上最大的鲸是什么鲸：A.蓝鲸B.虎鲸C.角鲸D.抹香鲸",
            "奥运会上的马拉松比赛的起源与什么有关：A.游戏B.战争C.打赌D.竞赛"
        ]
        for i in range(3):
            a = random.randint(0, len(self.questions) - 1)
            question = self.questions.pop(a)
            answer_true = self.question_dic.pop(a)
            print("第{}题".format(i+1),question)
            answer_input = input("输入答案:")
            if answer_input.upper() == answer_true:
                self.right_time += 1
                print("回答正确")
            else:
                print("回答错误，正确答案是",answer_true)

    def award(self):
        self.judge_phone_number()
        if self.right_time > 0:
            if self.right_time == 3:
                self.get_prize = self.prizes_list_new
            elif self.right_time == 2:
                self.get_prize = random.sample(self.prizes_list_new, 2)
            elif self.right_time == 1:
                self.get_prize = random.sample(self.prizes_list_new, 1)
            print("答对{}题，得到的奖品为：{}".format(self.right_time, self.get_prize))
            
        else:
            print("答对0题，没有得到的奖品")



    def judge_phone_number(self):
        temp_number = (set(self.phone_number))
        for i in temp_number:
            self.prizes_list_new.append(self.prizes_list[int(i)])

    def phone_number(self):
        while True:

            self.phone_number = input("输入手机号码，开始答题：")

            if self.phone_number.isdigit() and len(self.phone_number) == 11:
                break
            else:
                print("电话号码输入错误，重新输入")
                continue

    def playing(self):
        self.phone_number()
        self.ask_question()
        self.award()


if __name__ == "__main__":
    this_project = Telephone_QandA()
    this_project.playing()
